The field of the present invention is the presentation of multimedia objects, for example, graphical animations. More particularly, the present invention relates to presenting media objects using an embedded processor system.
Many electronic devices use embedded processors. For example mobile electronic devices often include embedded processors, microprocessors, or other controllers for controlling the device and providing an interface to a user. More specifically, devices such as mobile wireless phones, personal data assistants, MP3 players, and cameras generally included embedded processors for monitoring, operating, and using these devices. Also, many consumer devices such as DVD players, CD players, stereo equipment, appliances, and motor vehicles include embedded operational controllers. These embedded controllers typically have limited processing capability, and their processing capability is preferably prioritized towards operation and monitoring functions, instead of using excessive processing power and memory to provide a complex user interface. These devices also may have limited memory, such as RAM memory, to keep costs down. In this way, the embedded processor's limited memory, limited processor power, and simple structure cooperate to make cost sensitive and reliable devices.
These embedded systems often require or benefit from a visual display interface to a user, and often have other presentation devices such as a speaker, LED panels, or other media presentation components. For example, a mobile phone may have a graphical user interface displayed on an LCD screen for providing a man-machine interface. The processor in the mobile phone is responsible for call processing, diagnostics, and support applications, so only limited processor power is generally available to operate and manage the graphical user interface. Consumers, however, are demanding more interesting and more useful interaction with their electronic devices. In one example, consumers desire a multimedia aspect to the user interface by using sound, images, graphics, animations, or movies.
One way of increasing interest and utility is by providing animations. Animations generally are a sequence of images or frames presented to the user so that the user perceives a sense of motion, activity, or movement. In this way, an animation is somewhat like a movie, however it commonly has a lower resolution and lower frame speed then a typical movie. For example, an animation may have a set of sequential frames, with each frame displayed for approximately 200 milliseconds. On electronic devices, these animations may be used to provide motion to menus, titles, displays, and other notifications. Animations may include text, symbols, characters, or other graphical images. Also, animations may be used as part of help instructions, games, and start up sequences. These animations not only provide useful information to a user, but also are beneficial to gain and hold the attention of the user, and to entertain the user. These animations are useful for making the electronic device easier to use, more interesting, and just more fun.
Animations consist of a series of sequential images, with the identification and ordering of the images typically defined in an animation file. Each of the individual image files is stored locally in the device, generally in an industry-standard graphics file. When the embedded device desires to display or play an animation, the animation file is accessed, and all the images identified in that animation file are loaded into memory so that all the images reside in memory. Due to the limited processing power in typical embedded systems, the other processes operating on the embedded system, and the timing requirements for animation display, all images are loaded into memory prior to displaying the first image. Once all images have been loaded, then the processor or other animation engine sequentially displays the images according to the sequence set in the animation file.
The user interface may also include sound, which may be played before, during, or after the animation. Also, the user interface may use static images as backgrounds to moving graphics, or may use these images as standalone media objects. With these increasingly complex multimedia user interfaces, it is challenging for an embedded system to properly order and time each media object into the desired sequence.
Since typical embedded systems have limited RAM memory, only a limited number of images may be stored in memory at one time. Accordingly, embedded devices are typically limited to showing relatively short animations, as only a limited number of images may be loaded into memory at one time. Longer animations could be used, however, this would require additional processing power and additional memory so more images could be loaded into memory. But, an increase in power or memory would increase the complexity and cost for the embedded system and the device. Even though only relatively short animations are typically used, consumers are demanding more interesting, active, and helpful user interfaces, and longer animation sequences could assist in making more useful and aesthetically pleasing displays. Accordingly, there is a need for providing a system and method to enable the sequencing and presentation of multimedia objects, such as long animations, on embedded systems having limited memory and processor capability.